import 'package:flutter_enjoy_plus_01/constants/index.dart';
import 'package:shared_preferences/shared_preferences.dart';

class TokenManager {
  String _token = "";
  // 初始化  类似鸿蒙的首选项  
  Future<SharedPreferences> _getInstance() {
    // 返回一个首选项的实例 为存储、获取、移除token 提供统一的实例
    return SharedPreferences.getInstance();
  }

  // 项目启动时候初始化
  init() async {
    // 初始化token
    final instance = await _getInstance();
    // 获取token
    _token = instance.getString(GlobalVariable.TOKEN_KEY) ?? ""; // 获取token
  }

  // 存储token
  void setToken(String token) async {
    // 获取统一的实例
    final instance = await _getInstance();
    // 存储token
    instance.setString(GlobalVariable.TOKEN_KEY, token);
    // 更新token
    _token = token;
  }

  // 获取token
   getToken() {
    return _token ?? '';
  }


  // 移除token
  void removeToken() async {
    final instance = await _getInstance();
    instance.remove(GlobalVariable.TOKEN_KEY);
    _token = "";
  }
}

final tokenManager = TokenManager();